home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
351-375
/
355
/
rexxhostlib
/
preinclude.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-14
|
3KB
|
96 lines
/* $Revision Header * Header built automatically - do not edit! *************
*
* (C) Copyright 1990 by MXM
*
* Name .....: PreInclude.c
* Created ..: Sunday 25-Mar-90 12:57
* Revision .: 0
*
* Date Author Comment
* ========= ======== ====================
* 25-Mar-90 Olsen Created this file!
*
* $Revision Header ********************************************************/
/* Main system includes. */
#include <libraries/dosextens.h>
#include <exec/execbase.h>
#include <exec/resident.h>
#include <exec/memory.h>
#include <exec/alerts.h>
/* Rexx definitions. */
#include <rexx/rxslib.h>
/* Amiga prototypes/pragmas. */
#include <functions.h>
/* BCPL 'NULL'. */
#define ZERO 0L
/* The rexx host library base. */
struct RexxHostBase
{
struct Library LibNode;
struct RxsLib *RexxSysBase;
};
/* A rexx host, somewhat more than a simple MsgPort. */
struct RexxHost
{
struct MsgPort rh_Port;
ULONG rh_SpecialID;
ULONG rh_Reserved[4];
};
/* Prototypes for all library functions. */
struct RexxHost * CreateRexxHost(STRPTR);
VOID * DeleteRexxHost(struct RexxHost *);
LONG SendRexxCommand(struct RexxHost *,STRPTR,STRPTR,STRPTR);
VOID FreeRexxCommand(struct RexxMsg *);
VOID ReplyRexxCommand(struct RexxMsg *,LONG,LONG,STRPTR);
STRPTR GetRexxCommand(struct RexxMsg *);
STRPTR GetRexxArg(struct RexxMsg *);
LONG GetRexxResult1(struct RexxMsg *);
LONG GetRexxResult2(struct RexxMsg *);
STRPTR GetToken(STRPTR,LONG *,STRPTR,LONG);
LONG GetStringValue(STRPTR);
STRPTR BuildValueString(LONG,STRPTR);
LONG RexxStrCmp(STRPTR,STRPTR);
/* Library calls for rexx host lib. */
#pragma amicall(RexxHostBase, 0x1e, CreateRexxHost(a0))
#pragma amicall(RexxHostBase, 0x24, DeleteRexxHost(a0))
#pragma amicall(RexxHostBase, 0x2a, SendRexxCommand(a0,a1,a2,a3))
#pragma amicall(RexxHostBase, 0x30, FreeRexxCommand(a0))
#pragma amicall(RexxHostBase, 0x36, ReplyRexxCommand(a0,d0,d1,a1))
#pragma amicall(RexxHostBase, 0x3c, GetRexxCommand(a0))
#pragma amicall(RexxHostBase, 0x42, GetRexxArg(a0))
#pragma amicall(RexxHostBase, 0x48, GetRexxResult1(a0))
#pragma amicall(RexxHostBase, 0x4e, GetRexxResult2(a0))
#pragma amicall(RexxHostBase, 0x54, GetToken(a0,a1,a2,d0))
#pragma amicall(RexxHostBase, 0x5a, GetStringValue(a0))
#pragma amicall(RexxHostBase, 0x60, BuildValueString(d0,a0))
#pragma amicall(RexxHostBase, 0x66, RexxStrCmp(a0,a1))
/* Protos for assembly language string routines. */
LONG StrLen(char *);
VOID StrCpy(char *,char *);
VOID StrNCpy(char *,char *,LONG);
/* And some more pragmas. */
#pragma regcall(StrLen(a0))
#pragma regcall(StrCpy(a0,a1))
#pragma regcall(StrNCpy(a0,a1,d0))